以前大學上過相關課程後,就一直對數位鑑識很有興趣。今年有幸到加拿大進行為期一個月的資安與數位鑑識工作坊,接觸到更多不同的觀念與實作。所以想透過這個系列,把以前學過的東西和這次在加拿大學到的內容放在一起整理,也順便把觀念串起來,整理一套比較完整的數位鑑識筆記。
因為目前還沒有在業界實際從事數位鑑識工作的經驗,如果文章中有任何不足或錯誤,也歡迎各位前輩不吝指教!
數位鑑識(Digital Forensics),是把科學方法應用在數位資料與設備上,在符合法規的前提下,透過嚴謹的程序與技術,對數位證據進行擷取、還原與分析,進一步釐清事件發生的經過與相關事實,並協助釐清事件原因、相關人員與責任,為後續可能的法律程序保留證據。
這裡所說的「科學方法」,必須具備可測試(Testable)與可重複(Repeatable)的特性。也就是說,數位鑑識使用的方法、操作的過程與最後得到的結果,都應該能夠被再次檢驗。
那這些資訊又是從哪裡來的呢?
我們每天使用電腦或手機,其實都會留下很多自己平常不會注意到的資料。可能是開過哪些程式、存取過哪些檔案、瀏覽過哪些網頁、連過哪些裝置,或是系統在背景自動產生的紀錄。這些因為使用裝置而留下來的紀錄,就是數位足跡(Digital Footprint)。
數位鑑識和傳統鑑識其實概念有點像。傳統鑑識會從現場留下的指紋、毛髮或其他跡證去了解事情發生的經過,而在數位世界裡,留下來的則可能是檔案、系統紀錄、記憶體中的資料,或各種操作所留下的數位痕跡。
鑑識領域裡有一個很經典的概念叫做 Locard’s Exchange Principle:
「凡兩個物體接觸,必會產生轉移現象。」
→ Edmond Locard
簡單來說,就是只要有接觸,就可能留下痕跡。只要使用過電腦或手機,就可能在不同地方留下紀錄,而這些紀錄就可能成為後續分析的線索。
但並不是所有留下來的資料都是證據。當這些數位足跡和正在調查的事件產生關聯時,它們才可能進一步成為 數位證據(Digital Evidence)。
有些證據來自網路或應用程式,例如瀏覽器紀錄、應用程式紀錄,有些則是作業系統在運作過程中留下的系統暫存檔、執行紀錄、日誌或 Metadata。像防火牆規則、帳號權限、存取控制規則這類系統設定,也可能反映當時系統允許哪些操作、有哪些限制。
證據也可能存在各種儲存媒體與實體設備裡,例如電腦硬碟、記憶卡、網路儲存設備、記憶體、暫存空間,以及電腦、伺服器、筆記型電腦、行動影音設備或網路設備。
甚至連平常使用者看不到的磁碟空間,都可能留下有用的資料。
例如 Unallocated Space(未配置空間),指的是已經格式化、但目前沒有分配給檔案使用的空間。新的資料之後仍可以被寫入這些區域,因此先前被刪除、但尚未被覆寫的內容,也可能殘留在裡面。
Unused Space(未使用空間) 則屬於尚未被使用或保留的磁碟空間,通常沒有被正常格式化或掛載,其中也可能存在重要資料或惡意程式,存取時可能需要較高的權限。
所以在數位鑑識裡,真正要找的並不是某一個固定位置的檔案,而是從不同來源留下的資料中,找出彼此之間的關聯,再慢慢拼出事件發生的情況。
除了存在的位置不同之外,數位資料還有另一個很重要的差別,就是它們可以保存的時間也不一樣。
數位資料可以分成揮發性資料(Volatile Data)與非揮發性資料(Non-volatile Data)。
揮發性資料:會隨著電腦運作持續改變,重新啟動或關機後,內容可能就會消失。常見的例子包含目前登入中的帳號、已開啟的檔案、正在執行的程序(Process)、已啟用的服務、目前的網路設定與連線狀態、本機分享資源,以及記憶體中的內容等。像 RAM 裡可能保存正在執行的程式、目前使用中的資料或其他即時狀態,但只要電源關閉,這些內容通常就無法繼續保留。
非揮發性資料:這類資料通常已經寫入硬碟、SSD 或其他儲存媒體,即使電腦關機或斷電,資料仍然可以被保存。常見的例子包含日誌檔案(Log)、裝置連接歷程、檔案時間戳、檔案特徵值、資源回收桶中的資料、暫存檔、捷徑、網路行為歷程,以及系統排程作業等。
| 類型 | 資料特性 | 關機/重啟後 | 常見用途 | 常見例子 |
|---|---|---|---|---|
| 揮發性資料 | 隨系統運作持續變化 | 可能消失 | 系統當下狀態 | 登入帳號、已開啟檔案、Process、Service、網路連線、本機分享資源、RAM |
| 非揮發性資料 | 寫入硬碟、SSD 等儲存媒體 | 通常可保留 | 歷史紀錄與操作痕跡 | Log、裝置連接歷程、檔案時間戳、檔案特徵值、資源回收桶、暫存檔、LNK、網路行為歷程、排程作業 |
了解資料可能存在的位置和保存方式之後,再來看數位證據本身,還有幾個和實體證物很不一樣的特性: